rsearch v1.0 beta

The 10 Disclaiments
-------------------

1 : Thou shalt not hold me responsible for any damage that occurs to thy 
    computer caused by this program.
2 : Thou shalt not use this program at other peoples risk, but at thy 
    own risk.
3 : Thou shalt not sell this program for thy benefit, unless I get 70% 
    of the share.
4 : Thou shalt not modify this program, unless thou does it secretly.
5 : Thou shalt not redistribute this program, unless thou includes this 
    readme file.
6 : Thou shalt not redistribute this program, unless thou redistributes 
    all the files included with the original files, unmodified.
7 : Thou shalt not take credit for my work, because it tis simply wrong 
    to do so.
8 : Thou shalt not run this program if the executable size does not 
    equal 122798 bytes, unless thou wants a virus.
9 : Thou shalt not run this program with out the requirements stated 
    below, unless thou wants thy program to crash. 
10: Thou shalt not run this program if thou does not agree to the 10 
    disclaiments, unless thou breaks the rule at home where no one finds out 
    what thou hast done.

Introduction
------------

Research is a tool used to strings in a rom. It does basically exactly
the same thing as other relative searchers out there with one difference.
Rather than parsing english strings, it parses romanji strings.

Instructions
------------

To use, in DOS prompt type:

rsearch <rom> <string string>

Your string should not be more than 256 characters.


Eg: To search "konnichiwa" in THG...
---
C:\RSearch>rsearch hunterg.smc konnichiwa

Output:
------
RSearch v1.0b - Romanji Search

0x0BCFFB: [1B 3F 27 22 3D ...] a = 12


The output shows the offset, the bytes in the file, and the position
of kana 'a'. If the output scrolls longer than 20 line, you'll get a
prompt:
"Push any key to continue, 'c' for continuous, or 'z' to break."
If you push 'c', the output will continue to scroll without breaks.
If you push 'z', it'll terminate the program.

Valid Strings
-------------

The below is a list of strings that can be parsed. Note that this is a
beta version, and not all strings can be done. Also, the kana table
of the rom should follow this order.

"a","i","u","e","o",		----
"ka","ki","ku","ke","ko",	   |
"sa","shi","su","se","so",	   |
"ta","chi","tsu","te","to",	   |
"na","ni","nu","ne","no",	   |
"ha","hi","fu","he","ho",	   | Set 1
"ma","mi","mu","me","mo",	   |
"ya","yu","yo",			   |
"ra","ri","ru","re","ro",	   |
"wa","wo","n",			----
"ga","gi","gu","ge","go",	----
"za","ji","zu","ze","zo",	   |
"da","di","du","de","do",	   |
"ba","bi","bu","be","bo",	   | Set 2
"pa","pi","pu","pe","po",	   |
"_a","_i","_u","_e","_o",	   |
"_ya","_yu","_yo","tt"		----

Notice that the table above is divided into 2 sets. Set 1 is the set
of strings you'd want to use for the most accurate results, since most
games will have Set 1 in that order. Set 2 will varie from game to
game. So it is not recommended to use the strings in Set 2. You will
see how this is changed later.

Syntax
------
Most romanji is acceptable. Like ˤ (konnichiwa) is just fine.
In the table above, you'll notice some strings with an underscore.
The _a, _i, _e, etc.. are the little form of those characters. The "tt"
is the little "tsu".
Therefore to type in  (kyu) you should type in "ki_yu". However,
this program let's you type in "kyu" and it is automatically expanded.
As for "ra" and "la" they are the same thing.

Remapping the table
-------------------

Some roms won't have the table stated above in the exact order. You
can change the ordering of that table by creating a text file named
"rsearch.txt" and remapping each character. This solves the problem
of Set 2 being in accurate.

The text file for the default table will look like this:
--file begin-- ; don't include this line in the *.txt file
a
i
u
e
o
ka
ki
ku
ke
ko
sa
shi
su
se
so
ta
chi
tsu
te
to
na
ni
nu
ne
no
ha
hi
fu
he
ho
ma
mi
mu
me
mo
ya
yu
yo
ra
ri
ru
re
ro
wa
wo
n
ga
gi
gu
ge
go
za
ji
zu
ze
zo
da
di
du
de
do
ba
bi
bu
be
bo
pa
pi
pu
pe
po
_a
_i
_u
_e
_o
_ya
_yu
_yo
tt
--file end--

Remapping the table has not been tested thoroughly, so don't count to
much on this.

Error Messages
--------------

"Can't open file xxx" : This is very obvious what it means.
"Not enough memory" : For some reason, there's not enough memory
		      available. Most likely to be a bug in the
		      program.
"Parse Error in string xxx" : Your string is not accepted by the
			      program. Also check "rsearch.txt" for
			      left out strings.
"Invalid String xxx" : There is an error in "rsearch.txt".